﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace WcfMasterSlaveElectionService
{
    /// <summary>
    /// The endpoint provider should know all instances to select a master (or actice) instance from.
    /// This interface decouples the MasterSlaveElection service from the instance itself.
    /// </summary>
    public interface IEndpointProvider
    {
        Dictionary<string, string> GetCurrentEndpoints();
        InstanceEndpoint GetEndPointOfRoleIntance(string roleInstanceId);
        string GetUriForRoleIntance(string roleInstanceId);
        string EndpointName { get;}
        string RoleName {get;}
    }
}
